<template>
    <el-date-picker
            v-model="dates"
            type="datetimerange"
            align="right"
            @change="getDateParam"
            :format="pickerParams.valueFormat || 'yyyy-MM-dd HH:mm:ss'"
            :value-format="pickerParams.valueFormat || 'yyyy-MM-dd HH:mm:ss'"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            :picker-options="pickerOptions"
            :default-time="['00:00:00', '23:59:59']">
    </el-date-picker>
</template>

<script>
    /**
     * 时间范围选择 年月日时分秒
     */
    import moment from 'moment';
    export default {
        name: "EdDateTimePickerRange",
        props:{
            pickerParams:{},
            // 组件使用v-model 形式绑定值
            value:{
                type: [String,Array],
                default:function () {
                    return [];
                }
            },
        },
        watch:{
            value(val){
                this.dates = val
            }
        },
        data(){
            return{
                dates: [],
                pickerOptions:{} ,//禁用
            }
        },
        mounted(){
            if(this.$attrs.pickerOptions == "days"){
                this.pickerOptions = {
                    //禁用当前日期之前的日期
                    disabledDate(time) {
                        //Date.now()是javascript中的内置函数，它返回自1970年1月1日00:00:00 UTC以来经过的毫秒数。
                        return time.getTime() < Date.now() - 8.64e7;
                    },
                }
            }
        },
        methods:{
            // 重置
            reset(){
                this.dates = [];
                this.$emit('emit-echo-params',{})
            },
            getDateParam(date){
                let echoParams = {};
                if (date) {
                    echoParams.startTime = date[0];
                    echoParams.endTime = date[1];
                }else {
                    echoParams.startTime = '';
                    echoParams.endTime = '';
                }
                this.$emit("input",date);
                this.$emit('emit-echo-time-range',echoParams)
            }
        }
    }
</script>

<style scoped>

</style>